iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 10
0
Modern Web

重新認識 Vue 2+1 系列 第 10

『 Vue 2+1 Day10 』Vue Component 生命週期

  • 分享至 

  • xImage
  •  

鉤子 (Hooks)是現在不管前後端框架都很常見的一種概念,他可以讓我們在程式運行的特定階段執行我們想要的任務

讓我們看看 Vue 有那些鉤子可以使用每個組件都有自己的生命週期

上面圖例中紅色框框的就是我們可以特定階段去執行我們想要的任務的鉤子,關於每個鉤子詳細的說明可以參考选项 / 生命周期钩子

這邊要特別注意的幾點

  • 所有的生命週期鉤子的 this 會自動綁定到上下文到 component 的實例中,所以記得不可以用箭頭函式去定義生命週期鉤子的方法
    //不可以這樣做
    created: () => this.fetchTodos()
    //應該這樣寫
    created() { this.fetchTodos() }
  • 使用 updated 這個鉤子時,應該避免去變更資料(狀態),試想你更新了狀態又觸發了 updated 然後又更新了狀態,這樣就導致了無窮迴圈,所以遇到需要更改狀態應該使用 computed 或是 watch來代替

組件樹的生命週期鉤子執行順序

假設我的組件樹裡面都是同步 component,組件樹的關係如下圖
https://ithelp.ithome.com.tw/upload/images/20200925/20107946MIY2Hedfp2.png

那麼 createdmounted 的執行順序會是像這樣的
https://ithelp.ithome.com.tw/upload/images/20200925/201079463HBeb97UHG.png

以上,明天再來談談 指令


上一篇
『Vue 2+1 Day9 』Vue Component 計算及監聽
下一篇
『Vue 2+1 Day11 』Vue Component 指令
系列文
重新認識 Vue 2+1 11
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言